Skip to content

Separate client and environment settings - #4567

Open
colonelpanic8 wants to merge 1 commit into
pingdotgg:mainfrom
colonelpanic8:t3code/separate-client-environment-settings
Open

Separate client and environment settings#4567
colonelpanic8 wants to merge 1 commit into
pingdotgg:mainfrom
colonelpanic8:t3code/separate-client-environment-settings

Conversation

@colonelpanic8

@colonelpanic8 colonelpanic8 commented Jul 26, 2026

Copy link
Copy Markdown

What Changed

  • Group the settings navigation by Client and Environment ownership.
  • Split the mixed General page into client settings at /settings/general and environment settings at /settings/environment.
  • Scope Restore defaults to the settings owned by the current page.

Why

Settings that follow the graphical client and settings that configure the connected execution environment currently appear together, obscuring where changes apply. Making ownership explicit supports first-class remote environments and complements #4559 and #4564.

UI Changes

Before: one flat settings navigation and a General page mixing client preferences with environment configuration.

After: labeled Client and Environment navigation groups with separate General pages. The affected flows were verified in an authenticated web client; the preview screenshot/recording endpoint failed during capture, so no reliable artifact is attached.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes (capture tooling failed; DOM-level integrated verification passed)
  • A video is not applicable; this change adds no animation or interaction behavior

Verification

  • vp test run src/components/settings/SettingsSidebarNav.test.ts --project unit
  • Targeted vp lint on the six affected files
  • vp build in apps/web
  • Authenticated integrated web verification of both settings pages and their visible controls
  • Web typecheck was attempted and remains blocked by existing errors in unrelated files on origin/main

Note

Low Risk
Mostly UI routing and conditional rendering; no auth or persistence model changes beyond which keys restore-defaults touches per page.

Overview
Settings navigation is now grouped under Client and Environment, and the old mixed General page is split into two routes.

Client (/settings/general) keeps UI and app preferences (theme, glass opacity, sidebar, confirmations, etc.) plus About. Environment (/settings/environment) holds execution-related options (streaming, provider checks, new-thread defaults, text generation model) and moves Diagnostics off the client General page.

useSettingsRestore takes an ownership argument so Restore defaults only lists and resets settings for the active panel, on both General pages. A unit test locks in the nav group → route mapping.

Reviewed by Cursor Bugbot for commit 433b42a. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Separate client and environment settings into distinct panels in the settings sidebar

  • Adds a new /settings/environment route that renders an EnvironmentSettingsPanel, splitting settings that belong to the environment (streaming, provider checks, git, model selection) away from client settings (theme, UI, confirmations).
  • Replaces the flat SETTINGS_NAV_ITEMS with SETTINGS_NAV_GROUPS in SettingsSidebarNav.tsx, grouping nav items under labeled "Client" and "Environment" sections.
  • Updates useSettingsRestore to accept an ownership argument so the "Restore Defaults" button resets only the settings belonging to the current panel's scope.
  • Behavioral Change: the "Restore Defaults" button now only appears on the Client and Environment settings pages, and its effect is scoped to that panel's owned settings.

Macroscope summarized 433b42a.

@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f97465ed-251d-4c11-996a-303fb1fd4ad4

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Jul 26, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jul 26, 2026
@macroscopeapp

macroscopeapp Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

This PR reorganizes existing settings into 'client' and 'environment' categories with no new functionality or runtime behavior changes - purely UI restructuring with conditional rendering and navigation grouping.

You can customize Macroscope's approvability policy. Learn more.

colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 26, 2026
… in the UI)

# Conflicts:
#	apps/web/src/components/settings/SettingsPanels.tsx
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 26, 2026
# Conflicts:
#	apps/web/src/components/settings/SettingsPanels.tsx
@colonelpanic8
colonelpanic8 force-pushed the t3code/separate-client-environment-settings branch from 39c0a87 to 69a4878 Compare July 28, 2026 02:08
@macroscopeapp
macroscopeapp Bot dismissed their stale review July 28, 2026 02:08

Dismissing prior approval to re-evaluate 69a4878

@colonelpanic8
colonelpanic8 force-pushed the t3code/separate-client-environment-settings branch from 69a4878 to 433b42a Compare July 28, 2026 02:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant